<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qquickimageparticle.cpp -->
  <title>ImageParticle QML 类型 | Qt Quick 5.12.3</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.12</a></td><td ><a href="qtquick-index.html">Qt Quick 模块</a></td><td ><a href="qtquick-qmlmodule.html">QML类型</a></td><td >ImageParticle QML 类型</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtquick-index.html">Qt 5.12.3 参考指南</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">目录</a></h3>
<ul>
<li class="level1"><a href="#properties">属性</a></li>
<li class="level1"><a href="#details">详细信息</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">ImageParticle QML 类型</h1>
<span class="subtitle"></span>
<!-- $$$ImageParticle-brief -->
<p>For visualizing logical particles using an image. <a href="#details">更多...</a></p>
<!-- @@@ImageParticle -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> 导入语句：</td><td class="memItemRight bottomAlign"> import QtQuick.Particles 2.12</td></tr><tr><td class="memItemLeft rightAlign topAlign">继承自：</td><td class="memItemRight bottomAlign"> <p><a href="qml-qtquick-particles-particlepainter.html">ParticlePainter</a></p>
</td></tr></table></div><ul>
<li><a href="qml-qtquick-particles-imageparticle-members.html">所有成员的列表，包括继承成员</a></li>
</ul>
<a name="properties"></a>
<h2 id="properties">属性</h2>
<ul>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#alpha-prop">alpha</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#alphaVariation-prop">alphaVariation</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#autoRotation-prop">autoRotation</a></b></b> : bool</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#blueVariation-prop">blueVariation</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#color-prop">color</a></b></b> : color</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#colorTable-prop">colorTable</a></b></b> : url</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#colorVariation-prop">colorVariation</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#entryEffect-prop">entryEffect</a></b></b> : EntryEffect</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#greenVariation-prop">greenVariation</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#opacityTable-prop">opacityTable</a></b></b> : url</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#redVariation-prop">redVariation</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#rotation-prop">rotation</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#rotationVariation-prop">rotationVariation</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#rotationVelocity-prop">rotationVelocity</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#rotationVelocityVariation-prop">rotationVelocityVariation</a></b></b> : real</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#sizeTable-prop">sizeTable</a></b></b> : url</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#source-prop">source</a></b></b> : url</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#sprites-prop">sprites</a></b></b> : list&lt;Sprite&gt;</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#spritesInterpolate-prop">spritesInterpolate</a></b></b> : bool</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#status-prop">status</a></b></b> : Status</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#xVector-prop">xVector</a></b></b> : StochasticDirection</li>
<li class="fn"><b><b><a href="qml-qtquick-particles-imageparticle.html#yVector-prop">yVector</a></b></b> : StochasticDirection</li>
</ul>
<!-- $$$ImageParticle-description -->
<a name="details"></a>
<h2 id="details">详细信息</h2>
<p>This element renders a logical particle as an image. The image can be</p>
<ul>
<li>colorized</li>
<li>rotated</li>
<li>deformed</li>
<li>a sprite-based animation</li>
</ul>
<p>ImageParticles implictly share data on particles if multiple ImageParticles are painting the same logical particle group. This is broken down along the four capabilities listed above. So if one <a href="qml-qtquick-particles-imageparticle.html">ImageParticle</a> defines data for rendering the particles in one of those capabilities, and the other does not, then both will draw the particles the same in that aspect automatically. This is primarily useful when there is some random variation on the particle which is supposed to stay with it when switching painters. If both ImageParticles define how they should appear for that aspect, they diverge and each appears as it is defined.</p>
<p>This sharing of data happens behind the scenes based off of whether properties were implicitly or explicitly set. One drawback of the current implementation is that it is only possible to reset the capabilities as a whole. So if you explicitly set an attribute affecting color, such as <a href="qml-qtquick-particles-imageparticle.html#redVariation-prop">redVariation</a>, and then reset it (by setting <a href="qml-qtquick-particles-imageparticle.html#redVariation-prop">redVariation</a> to undefined), all color data will be reset and it will begin to have an implicit value of any shared color from other ImageParticles.</p>
<p><b>Note: </b>The maximum number of image particles is limited to 16383.</p><!-- @@@ImageParticle -->
<h2>属性文档</h2>
<!-- $$$alpha -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="alpha-prop">
<td class="tblQmlPropNode"><p>
<a name="alpha-prop"></a><span class="name">alpha</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>An alpha to be applied to the image. This value is multiplied by the value in the image, and the value in the color property.</p>
<p>Particles have additive blending, so lower alpha on single particles leads to stronger effects when multiple particles overlap.</p>
<p>Alpha is measured from 0.0 to 1.0&#x2e;</p>
<p>Default is 1.0</p>
</div></div><!-- @@@alpha -->
<br/>
<!-- $$$alphaVariation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="alphaVariation-prop">
<td class="tblQmlPropNode"><p>
<a name="alphaVariation-prop"></a><span class="name">alphaVariation</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The variation in the alpha channel between particles.</p>
<p>Alpha is measured from 0.0 to 1.0&#x2e;</p>
<p>Default is 0.0</p>
</div></div><!-- @@@alphaVariation -->
<br/>
<!-- $$$autoRotation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="autoRotation-prop">
<td class="tblQmlPropNode"><p>
<a name="autoRotation-prop"></a><span class="name">autoRotation</span> : <span class="type"><a href="../qtqml/qml-bool.html">bool</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>If set to true then a rotation will be applied on top of the particles rotation, so that it faces the direction of travel. So to face away from the direction of travel, set autoRotation to true and rotation to 180.</p>
<p>Default is false</p>
</div></div><!-- @@@autoRotation -->
<br/>
<!-- $$$blueVariation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="blueVariation-prop">
<td class="tblQmlPropNode"><p>
<a name="blueVariation-prop"></a><span class="name">blueVariation</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The variation in the blue color channel between particles.</p>
<p>Color is measured, per channel, from 0.0 to 1.0&#x2e;</p>
<p>Default is 0.0</p>
</div></div><!-- @@@blueVariation -->
<br/>
<!-- $$$color -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="color-prop">
<td class="tblQmlPropNode"><p>
<a name="color-prop"></a><span class="name">color</span> : <span class="type"><a href="qml-color.html">color</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>If a color is specified, the provided image will be colorized with it.</p>
<p>Default is white (no change).</p>
</div></div><!-- @@@color -->
<br/>
<!-- $$$colorTable -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="colorTable-prop">
<td class="tblQmlPropNode"><p>
<a name="colorTable-prop"></a><span class="name">colorTable</span> : <span class="type"><a href="../qtqml/qml-url.html">url</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>An image whose color will be used as a 1D texture to determine color over life. E.g&#x2e; when the particle is halfway through its lifetime, it will have the color specified halfway across the image.</p>
<p>This color is blended with the color property and the color of the source image.</p>
</div></div><!-- @@@colorTable -->
<br/>
<!-- $$$colorVariation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="colorVariation-prop">
<td class="tblQmlPropNode"><p>
<a name="colorVariation-prop"></a><span class="name">colorVariation</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>This number represents the color variation applied to individual particles. Setting colorVariation is the same as setting <a href="qml-qtquick-particles-imageparticle.html#redVariation-prop">redVariation</a>, <a href="qml-qtquick-particles-imageparticle.html#greenVariation-prop">greenVariation</a>, and <a href="qml-qtquick-particles-imageparticle.html#blueVariation-prop">blueVariation</a> to the same number.</p>
<p>Each channel can vary between particle by up to colorVariation from its usual color.</p>
<p>Color is measured, per channel, from 0.0 to 1.0&#x2e;</p>
<p>Default is 0.0</p>
</div></div><!-- @@@colorVariation -->
<br/>
<!-- $$$entryEffect -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="entryEffect-prop">
<td class="tblQmlPropNode"><p>
<a name="entryEffect-prop"></a><span class="name">entryEffect</span> : <span class="type">EntryEffect</span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>This property provides basic and cheap entrance and exit effects for the particles. For fine-grained control, see <a href="qml-qtquick-particles-imageparticle.html#sizeTable-prop">sizeTable</a> and <a href="qml-qtquick-particles-imageparticle.html#opacityTable-prop">opacityTable</a>.</p>
<p>Acceptable values are</p>
<ul>
<li><a href="qml-qtquick-particles-imageparticle.html">ImageParticle</a>.None: Particles just appear and disappear.</li>
<li><a href="qml-qtquick-particles-imageparticle.html">ImageParticle</a>.Fade: Particles fade in from 0 opacity at the start of their life, and fade out to 0 at the end.</li>
<li><a href="qml-qtquick-particles-imageparticle.html">ImageParticle</a>.Scale: Particles scale in from 0 size at the start of their life, and scale back to 0 at the end.</li>
</ul>
<p>Default value is Fade.</p>
</div></div><!-- @@@entryEffect -->
<br/>
<!-- $$$greenVariation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="greenVariation-prop">
<td class="tblQmlPropNode"><p>
<a name="greenVariation-prop"></a><span class="name">greenVariation</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The variation in the green color channel between particles.</p>
<p>Color is measured, per channel, from 0.0 to 1.0&#x2e;</p>
<p>Default is 0.0</p>
</div></div><!-- @@@greenVariation -->
<br/>
<!-- $$$opacityTable -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="opacityTable-prop">
<td class="tblQmlPropNode"><p>
<a name="opacityTable-prop"></a><span class="name">opacityTable</span> : <span class="type"><a href="../qtqml/qml-url.html">url</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>An image whose opacity will be used as a 1D texture to determine size over life.</p>
<p>This property is expected to be removed shortly, in favor of custom easing curves to determine opacity over life.</p>
</div></div><!-- @@@opacityTable -->
<br/>
<!-- $$$redVariation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="redVariation-prop">
<td class="tblQmlPropNode"><p>
<a name="redVariation-prop"></a><span class="name">redVariation</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The variation in the red color channel between particles.</p>
<p>Color is measured, per channel, from 0.0 to 1.0&#x2e;</p>
<p>Default is 0.0</p>
</div></div><!-- @@@redVariation -->
<br/>
<!-- $$$rotation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="rotation-prop">
<td class="tblQmlPropNode"><p>
<a name="rotation-prop"></a><span class="name">rotation</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>If set the image will be rotated by this many degrees before it is drawn.</p>
<p>The particle coordinates are not transformed.</p>
</div></div><!-- @@@rotation -->
<br/>
<!-- $$$rotationVariation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="rotationVariation-prop">
<td class="tblQmlPropNode"><p>
<a name="rotationVariation-prop"></a><span class="name">rotationVariation</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>If set the rotation of individual particles will vary by up to this much between particles.</p>
</div></div><!-- @@@rotationVariation -->
<br/>
<!-- $$$rotationVelocity -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="rotationVelocity-prop">
<td class="tblQmlPropNode"><p>
<a name="rotationVelocity-prop"></a><span class="name">rotationVelocity</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>If set particles will rotate at this velocity in degrees/second.</p>
</div></div><!-- @@@rotationVelocity -->
<br/>
<!-- $$$rotationVelocityVariation -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="rotationVelocityVariation-prop">
<td class="tblQmlPropNode"><p>
<a name="rotationVelocityVariation-prop"></a><span class="name">rotationVelocityVariation</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>If set the <a href="qml-qtquick-particles-imageparticle.html#rotationVelocity-prop">rotationVelocity</a> of individual particles will vary by up to this much between particles.</p>
</div></div><!-- @@@rotationVelocityVariation -->
<br/>
<!-- $$$sizeTable -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="sizeTable-prop">
<td class="tblQmlPropNode"><p>
<a name="sizeTable-prop"></a><span class="name">sizeTable</span> : <span class="type"><a href="../qtqml/qml-url.html">url</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>An image whose opacity will be used as a 1D texture to determine size over life.</p>
<p>This property is expected to be removed shortly, in favor of custom easing curves to determine size over life.</p>
</div></div><!-- @@@sizeTable -->
<br/>
<!-- $$$source -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="source-prop">
<td class="tblQmlPropNode"><p>
<a name="source-prop"></a><span class="name">source</span> : <span class="type"><a href="../qtqml/qml-url.html">url</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The source image to be used.</p>
<p>If the image is a sprite animation, use the sprite property instead.</p>
<p>Since Qt 5.2, some default images are provided as resources to aid prototyping:</p>
<div class="table"><table class="generic">
 <tr valign="top" class="odd"><td >qrc:///particleresources/star.png</td><td ><img src="images/star.png" alt="" /></td></tr>
<tr valign="top" class="even"><td >qrc:///particleresources/glowdot.png</td><td ><img src="images/glowdot.png" alt="" /></td></tr>
<tr valign="top" class="odd"><td >qrc:///particleresources/fuzzydot.png</td><td ><img src="images/fuzzydot.png" alt="" /></td></tr>
</table></div>
<p>Note that the images are white and semi-transparent, to allow colorization and alpha levels to have maximum effect.</p>
</div></div><!-- @@@source -->
<br/>
<!-- $$$sprites -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="sprites-prop">
<td class="tblQmlPropNode"><p>
<a name="sprites-prop"></a><span class="name">sprites</span> : <span class="type"><a href="../qtqml/qml-list.html">list</a></span>&lt;<span class="type"><a href="qml-qtquick-sprite.html">Sprite</a></span>&gt;</p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The sprite or sprites used to draw this particle.</p>
<p>Note that the sprite image will be scaled to a square based on the size of the particle being rendered.</p>
<p>For full details, see the <a href="qtquick-effects-sprites.html">Sprite Animations</a> overview.</p>
</div></div><!-- @@@sprites -->
<br/>
<!-- $$$spritesInterpolate -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="spritesInterpolate-prop">
<td class="tblQmlPropNode"><p>
<a name="spritesInterpolate-prop"></a><span class="name">spritesInterpolate</span> : <span class="type"><a href="../qtqml/qml-bool.html">bool</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>If set to true, sprite particles will interpolate between sprite frames each rendered frame, making the sprites look smoother.</p>
<p>Default is true.</p>
</div></div><!-- @@@spritesInterpolate -->
<br/>
<!-- $$$status -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="status-prop">
<td class="tblQmlPropNode"><p>
<a name="status-prop"></a><span class="name">status</span> : <span class="type">Status</span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The status of loading the image.</p>
</div></div><!-- @@@status -->
<br/>
<!-- $$$xVector -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="xVector-prop">
<td class="tblQmlPropNode"><p>
<a name="xVector-prop"></a><span class="name">xVector</span> : <span class="type">StochasticDirection</span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>Allows you to deform the particle image when drawn. The rectangular image will be deformed so that the horizontal sides are in the shape of this vector instead of (1,0).</p>
</div></div><!-- @@@xVector -->
<br/>
<!-- $$$yVector -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="yVector-prop">
<td class="tblQmlPropNode"><p>
<a name="yVector-prop"></a><span class="name">yVector</span> : <span class="type">StochasticDirection</span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>Allows you to deform the particle image when drawn. The rectangular image will be deformed so that the vertical sides are in the shape of this vector instead of (0,1).</p>
</div></div><!-- @@@yVector -->
<br/>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2019 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
